/************************************************************
https://anotherssisframework.codeplex.com

Copyright (c) 2014, Allen J. Zyck <sql.architect@outlook.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights 
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
 to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the 
Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


************************************************************/

/***********
File: CreateIncrementalTracking.sql

Description:
This is a SQL script template to creates the SSISIncrementalTracking table
in the configuration database. This table populated with a single row 
for each package created from a template. The tasks in the setup sequence
container checks for the instance of the row. If it doesn't exist, the row
is inserted. The table tracks the last start time of the package. The
last start datetime and the last start date are stored in package variables
so they can be used in a dynamic BETWEEN clause. The table row for a running
package is updated with the most recent start time when the package successfully
completes.
***********/


USE <database, sysname, DWConfig>
GO

IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE 
	TABLE_CATALOG = '<database, sysname, DWConfig>' AND TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'SSISIncrementalTracking')
BEGIN
	CREATE TABLE dbo.SSISIncrementalTracking
	(
		  SSISIncrementalTrackingKey	int			NOT NULL IDENTITY(1,1) CONSTRAINT PK_SSISIncementalLoad_SSISIncrmentalTrackingKey PRIMARY KEY
		, PackageName					sysname		NOT NULL CONSTRAINT AK_SSISIncrementalLoad_Package UNIQUE
		, LastRunTMST					datetime	NOT NULL
		, LastRunDT						date		NOT NULL
		, UpdateBy						sysname		NOT NULL CONSTRAINT DF_SSISIncrementalLoad_UpdateBy DEFAULT (SUSER_SNAME())
		, LastUpdateTMST				datetime	NOT NULL
	) ON "default"
END
GO